package com.tcs.dao;

import java.util.List;

import com.tcs.model.Requisition;
import com.tcs.model.RequisitionClose;
import com.tcs.model.RequisitionDetail;
import com.tcs.model.RequisitionState;

public interface RequisitionDao {

	public void saveRequisition (Requisition requisition);
	
	public void saveRequisitionDetail (RequisitionDetail requisitionDetail);
	
	public void deleteRequisitionDetail (RequisitionDetail requisitionDetail);
	
	public void deleteRequisitionDetail (int id);
	
	public void saveRequisitionClose (RequisitionClose requisitionClose);
	
	public List<Requisition> listRequisitionsClose();

	public Requisition getRequisition(int ID);
	
	public RequisitionDetail getRequisitionDetail (int ID);
	
	public List<RequisitionDetail> listRequisitionDetailByReq(int ID);
	
	public List<RequisitionClose> listRequisitionDetailCloseByReq(int ID);
	
	public List<Requisition> listRequisitionByUser(int ID);
	
	public List<Requisition> listofRequisitionbyDate( long sinceDate , long toDate);
	
	public RequisitionState getState(int ID);
	
	public RequisitionState setState(int ID);
	
	public List<Requisition> listRequisitionByUserByState(int state, int id);
	
	public List<RequisitionClose> getListRequisitionClose();
	
	public List<Object[]> listRequisitionOpen ();
}
